package me.youline.dataServer.service.socialAction.handler;

import me.youline.dataServer.service.socialAction.event.SocialActionEvent;

/**
 * 社交行为事件处理器，与监听器进行绑定，执行实际事件的处理业务逻辑
 * @author linhan
 *
 */
public interface SocialActionEventHandler {

	
	/**
	 * 执行社交行为事件的处理，一般这个方法涉及持久化操作，需要将其归入同一个事务之中。
	 * @param event 社交事件
	 * @return  
	 */
	public void processSocialActionEvent(SocialActionEvent event);
	
	
	/**
	 * 结束社交行为事件处理，对社交事件执行后续的操作，主要为其他服务的通知
	 * @param event 社交事件
	 */
	public void finishSocialActionEvent(SocialActionEvent event);
	
	/**
	 * 判断是否支持对当前事件的处理
	 * @param event 社交事件
	 * @return 
	 */
	public boolean isSupport(SocialActionEvent event);
	
	/**
	 * 是否需要处理当前事件
	 * @param event
	 * @return
	 */
	public boolean isNeedHandle(SocialActionEvent event);
	
}
